In recent years, pointing devices have become popular for different applications in diverse fields, such as location-based services (LBS), gaming, entertainment, and augmented reality applications. For example, LBS use pointing for identifying geographic objects and features, and return information about these objects or features to the systems user.
In gaming, pointing is becoming popular with handheld joystick-like devices, such as Nintendo's Wii® console. “Wii” is a registered trademark of Nintendo Corporation. These joystick-like device allows system users to perform movements for interfacing with the game. In these gaming systems, motion vectors are captured by sensors build into the handheld devices. These motion vectors are transmitted to the game engine and used to emulate gestures within the game scenario, allowing a mapping of actions from the real world into a virtual gaming environment.
Conventional laser pointers have been used for a long time to direct the audience's attention to specific objects displayed on a screen or within the environment where the presentation is taking place. This example further amplifies that “pointing” has a wide variety of uses and applications. These uses and applications will only increase as new handheld devices come onto the market that have increased capabilities for deducing position, determining the direction of pointing, as well as acceleration vectors of pointing gestures.
One of the problems associated with conventional “pointing” systems is they are inaccurate. This is mainly because the act of “pointing” is inherently ambiguous. This ambiguity arises because it is not always obvious at which object or feature the pointing device is actually directed when objects are close together or overlapping. Although there are many reasons for this inability to accurately identify objects or features through pointing, a main reason for this inaccuracy is that “line of sight” and “pointing direction” are not always aligned. Thus, the ray derived from the orientation of the pointing device may identify a different object or feature than the object or feature the observer (system users) is actually pointing at. This error or uncertainty is due to an inability of observers (system users) to exactly align their line of vision with the pointing direction.
A second main reason for pointing uncertainty is based on the inaccuracy of the device being used for pointing. This applies to sensors that determine the pointing device's location and sensors responsible for providing the direction of pointing. The direction of pointing refers to the orientation of the pointing device.
The readings of the two sets of sensors combine to derive the ray that is used for identifying the object or feature of interest. Both of these types of sensors typically have certain characteristics in terms of errors and uncertainty that are considered when attempting to identify objects or features in the real-world environment by pointing at them.
Another reason for pointing accuracy and uncertainty is that humans often resort to cognitive processes, such as verbal descriptions of the object or feature of interest, in order to compensate for pointing device errors. However, conventional computational pointing systems do not have such cognitive capabilities. As such, the system user's use of cognitive processes many times leads to erroneous object or feature identification or inaccurate pointing results.
The present invention overcomes the problems of conventional systems and provides a system and method that accounts for the deficiencies of such conventional systems and enhances pointing-based systems so they will more accurately identify objects or features of interest by pointing.